fix(test_integrity_v2): widen HRV subject request to absorb wfdb flake#168
Closed
neuron7x wants to merge 1 commit intoneuron7xLab:mainfrom
Closed
fix(test_integrity_v2): widen HRV subject request to absorb wfdb flake#168neuron7x wants to merge 1 commit intoneuron7xLab:mainfrom
neuron7x wants to merge 1 commit intoneuron7xLab:mainfrom
Conversation
TestHRV::test_gamma_in_range requested n_subjects=3 — exactly the floor enforced in HRVPhysioNetAdapter._ensure_loaded. A single PhysioNet/wfdb network glitch dropping one record made the test fail with "Insufficient HRV data: 2 subjects" (CI run 25184505044, Verify 3.12). Same SHA passed on Verify 3.10 and 3.11 — pure transient flake, not a Python-version regression. Raise the ask to 5 (margin of 2) so the test stays green when up to two records are skipped during _load(). Floor and physics are unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5 tasks
Contributor
Author
neuron7xLab
added a commit
that referenced
this pull request
May 1, 2026
…al-data (#169) The previous TestHRV.test_gamma_in_range coupled three orthogonal claims into one mandatory mid-CI network call: 1. compute_gamma maths recovers γ ≈ 1 from a 1/f PSD, 2. _ensure_loaded enforces the 3-subject floor, 3. real PhysioNet/NSR2DB data lies in the physiological band. The single point of failure (PhysioNet/wfdb network) made (1) and (2) non-testable when the network flaked, and forced #168 to bump n_subjects 3→5 — a margin bandaid, not a fix. This change reduces the test to first principles by splitting along the three axes: • test_compute_gamma_recovers_unity_from_synthetic_1f Always-on. Synthesises a 1/f signal through the same VLF-band Welch+mask the adapter uses; no wfdb, no network. Catches the maths regressing. • test_floor_minimum_enforced Always-on. Monkeypatches HRVPhysioNetAdapter._load to return one subject below the 3-subject floor and asserts the documented RuntimeError. Catches floor regressions without network. • test_real_data_gamma_in_range Opt-in via NEOSYNAPTEX_RUN_NETWORK_TESTS=1. Exercises the full wfdb→PSD→γ pipeline on real NSR2DB data; no longer on the PR critical path, so PhysioNet flakes cannot block merges. Intended to run in a dedicated nightly/scheduled CI lane. The floor constant (_HRV_FLOOR_MIN_SUBJECTS = 3) is named, not magic. The CI-run-id comment from #168 is removed — the test no longer depends on transient network state, so the diagnostic context is documented in this commit message instead of polluting the source. Supersedes #168. Co-authored-by: Yaroslav Vasylenko <neuron7x@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
TestHRV::test_gamma_in_rangeзапитуєn_subjects=3при_ensure_loadedfloor=3 — нульовий запас. Один пропущений PhysioNet/wfdb запис →RuntimeError: Insufficient HRV data: 2 subjects(run 25184505044, Verify 3.12). Той самий SHA пройшов на 3.10/3.11 — чистий мережевий flake, не Python-регресія.Test plan
Claim status
claim_status: derived
Pure CI hygiene PR — жодного нового вимірювального claim. Зміна лише виправляє test fixture брак запасу, повертає тест до попередньо встановленої поведінки. Floor enforcement (≥3 суб'єктів) і physics range залишаються тими ж, тож логіка випливає з вже існуючого канону.
🤖 Generated with Claude Code